package com.example.ephuizi.stl.util.phong_illumination;

import android.opengl.Matrix;

/**
 * for svae matrix
 * Created by ephuizi@gmail.com on 2016/1/7.
 */
public class MatrixPhongIlluminationSet {

    private final float[] lightPos = {
            0.0f, 0.0f, -2.0f
    };
    private final float[] viewPos = {
            0.0f, 0.0f, 3.0f
    };

    private final float[] objectColor = {
            1.0f, 0.5f, 0.31f
    };
    private final float[] lightColor = {
            1.0f, 1.0f, 1.0f
    };

    /**
     * Store the model matrix. This matrix is used to move models from object space (where each model can be thought
     * of being located at the center of the universe) to world space.
     */
    private final float[] modelMatrix = new float[16];//basic
    /**
     * Store the view matrix. This can be thought of as our camera. This matrix transforms world space to eye space;
     * it positions things relative to our eye.
     */
    private final float[] viewMatrix = new float[16];//basic

    private final float[] projectionMatrix = new float[16];//basic

    private final float[] normalMatrix = new float[16];//basic

    public MatrixPhongIlluminationSet() {
        Matrix.setIdentityM(this.modelMatrix, 0);
        Matrix.setIdentityM(this.viewMatrix, 0);
        Matrix.setIdentityM(this.projectionMatrix, 0);
        Matrix.setIdentityM(this.normalMatrix, 0);

    }


    public float[] getLightPos() {
        return lightPos;
    }

    public float[] getViewPos() {
        return viewPos;
    }

    public float[] getObjectColor() {
        return objectColor;
    }

    public float[] getLightColor() {
        return lightColor;
    }

    public float[] getModelMatrix() {
        return modelMatrix;
    }

    public float[] getViewMatrix() {
        return viewMatrix;
    }

    public float[] getProjectionMatrix() {
        return projectionMatrix;
    }

    public float[] getNormalMatrix() {
        return normalMatrix;
    }
}
